package com.vogue.supplymall.shop.domain.model;

import org.hibernate.validator.constraints.NotEmpty;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Entity
@Table(name = "shop")
public class Shop extends TendBaseEntity implements Serializable{
    /**
	 * 
	 */
	private static final long serialVersionUID = 7310507335034781818L;

	/**
     * 机构店铺图片
     */
    @javax.persistence.Transient
    private List<OrganShopImg> organShopImg;

    /**
     * 对应机构id
     */
    @Column(nullable = false)
    @NotEmpty(message = "organid Can't be empty")
    private Long organid;

    /**
     * 注册唯一号id
     */
    @Column(nullable = false)
    @NotEmpty(message = "syscodeid Can't be empty")
    private Long syscodeid;

    /**
     * 店铺名称
     */
    @Column(nullable = false)
    @NotEmpty(message = "name Can't be empty")
    private String name;

    /**
     * 禁用标志（0否 1是）
     */
    @Column(nullable = false)
    private Boolean disabledflag;

    /**
     * 隐藏标志（0否 1是）
     */
    private Boolean hiddenflag;

    /**
     * 店铺起送金额
     */
    private BigDecimal sendamount;

    /**
     * 助记符
     */
    private String sign;

    /**
     * 地址
     */
    private String address;

    /**
     * 联系电话
     */
    private String tel;

    /**
     * 联系人
     */
    private String linkman;

    /**
     * 区域
     */
    private String area;

    /**
     * 省
     */
    private String province;

    /**
     * 市
     */
    private String city;

    /**
     * 区
     */
    private String country;

    /**
     * 企业名称
     */
    private String entname;

    /**
     * 简介
     */
    private String summary;

    /**
     * 运费起送重量（单位kg）
     */
    private BigDecimal freight = new BigDecimal(0);

    /**
     * 满计重运费（单位元）
     */
    private BigDecimal freightamount = new BigDecimal(0);

    /**
     * 运费起算重量计费步长（单位kg）
     */
    private BigDecimal freightstep = new BigDecimal(0);

    /**
     * 运费起算重量计费步长金额（单位元）
     */
    private BigDecimal freightstepamount = new BigDecimal(0);

    /**
     * 对应的供应链系统中的organid
     */
    private String matchid;

    /**
     * 开通日期
     */
    private Date opendate;
    
    /**
     * 用户停用标志（0否 1是）
     */
    private Boolean stopflag = false;

    /**
	 * 支付用的标记
	 * @return
	 */
	private String mcid;
    
	/**
	 * 是否等待手动接单
	 */
	private Boolean waitingOrder = false;
    /**
     * 支付限制方式【0:不限 1:线上2:线下】
     */
	private Integer paymode = 0;

    public Integer getPaymode() {
        return paymode;
    }

    public void setPaymode(Integer paymode) {
        this.paymode = paymode;
    }

    public List<OrganShopImg> getOrganShopImg() {
        return organShopImg;
    }

    public void setOrganShopImg(List<OrganShopImg> organShopImg) {
        this.organShopImg = organShopImg;
    }

    public Long getOrganid() {
        return organid;
    }

    public void setOrganid(Long organid) {
        this.organid = organid;
    }

    public Long getSyscodeid() {
        return syscodeid;
    }

    public void setSyscodeid(Long syscodeid) {
        this.syscodeid = syscodeid;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Boolean getDisabledflag() {
        return disabledflag;
    }

    public void setDisabledflag(Boolean disabledflag) {
        this.disabledflag = disabledflag;
    }

    public Boolean getHiddenflag() {
        return hiddenflag;
    }

    public void setHiddenflag(Boolean hiddenflag) {
        this.hiddenflag = hiddenflag;
    }

    public BigDecimal getSendamount() {
        return sendamount;
    }

    public void setSendamount(BigDecimal sendamount) {
        this.sendamount = sendamount;
    }

    public String getSign() {
        return sign;
    }

    public void setSign(String sign) {
        this.sign = sign;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getTel() {
        return tel;
    }

    public void setTel(String tel) {
        this.tel = tel;
    }

    public String getLinkman() {
        return linkman;
    }

    public void setLinkman(String linkman) {
        this.linkman = linkman;
    }

    public String getArea() {
        return area;
    }

    public void setArea(String area) {
        this.area = area;
    }

    public String getProvince() {
        return province;
    }

    public void setProvince(String province) {
        this.province = province;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getCountry() {
        return country;
    }

    public void setCountry(String country) {
        this.country = country;
    }

    public String getEntname() {
        return entname;
    }

    public void setEntname(String entname) {
        this.entname = entname;
    }

    public String getSummary() {
        return summary;
    }

    public void setSummary(String summary) {
        this.summary = summary;
    }

    public BigDecimal getFreight() {
        return freight;
    }

    public void setFreight(BigDecimal freight) {
        this.freight = freight;
    }

    public BigDecimal getFreightamount() {
        return freightamount;
    }

    public void setFreightamount(BigDecimal freightamount) {
        this.freightamount = freightamount;
    }

    public BigDecimal getFreightstep() {
        return freightstep;
    }

    public void setFreightstep(BigDecimal freightstep) {
        this.freightstep = freightstep;
    }

    public BigDecimal getFreightstepamount() {
        return freightstepamount;
    }

    public void setFreightstepamount(BigDecimal freightstepamount) {
        this.freightstepamount = freightstepamount;
    }

    public String getMatchid() {
        return matchid;
    }

    public void setMatchid(String matchid) {
        this.matchid = matchid;
    }

	public Date getOpendate() {
		return opendate;
	}

	public void setOpendate(Date opendate) {
		this.opendate = opendate;
	}

	public Boolean getStopflag() {
		return stopflag;
	}

	public void setStopflag(Boolean stopflag) {
		this.stopflag = stopflag;
	}

	public String getMcid() {
		return mcid;
	}

	public void setMcid(String mcid) {
		this.mcid = mcid;
	}

	public Boolean getWaitingOrder() {
		return waitingOrder;
	}

	public void setWaitingOrder(Boolean waitingOrder) {
		this.waitingOrder = waitingOrder;
	}

}